import numpy as np
try:
    import Image
except ImportError:
    from PIL import Image

# RandomHorizontalFlip 变换
class RandomHorizontalFlip:
    def __init__(self, p=0.5):
        """
        随机水平翻转图像的变换。

        Args:
            p (float): 翻转概率，即图像被水平翻转的概率，默认为 0.5。
        """
        self.p = p

    def __call__(self, img):
        """
        执行 RandomHorizontalFlip 变换操作。

        Args:
            img (PIL.Image.Image): 待变换的 PIL 图像。

        Returns:
            PIL.Image.Image: 变换后的图像。
        """
        if np.random.rand() < self.p:
            return img.transpose(Image.FLIP_LEFT_RIGHT)
        return img


